An optical disk or a magnetic tape library (also called a "jukebox") is a mechanical device capable of mounting units of storage media (e.g., disks or tape cartridges) on a drive in response to access requests from a computer system. A library usually comprises a set of one or more drives, a storage area for unmounted media, recording media, and a robot picker mechanism (possibly more than one) that moves the recording media between the storage area and the drives. Libraries range in physical size from that of a small room containing 1,000 or more media units to a desk top unit containing as few as 8 media units. The storage capacity of the largest library systems is in the Terabyte range, while the smallest libraries may have capacities of only 1 Gigabyte.
Library systems are used in many applications and generally perform their function in a satisfactory manner. There is, however, much room for improvement in the reliability, performance, and flexibility of conventional systems. For instance, most libraries have only one picker mechanism for transporting media to and from its drives. This characteristic is a single mechanical point of failure and represents a major weakness in the reliability of a library. If and when a picker fails, all of the data stored in such a library--possibly Terabytes--is inaccessible until the picker is repaired. Another performance limitation of library systems is their data transfer rate. While individual drives found in optical and tape libraries are of the type that have good data transfer rates, it is generally not possible for the rate of any single data stream from the library to exceed that of a single drive. For some applications, this is a serious drawback. It is also difficult to configure libraries to match the differing needs of applications. Some libraries allow drives to be added in place of media storage space, but in general it is not possible to retrofit a library with additional pickers, higher data transfer rates, or greater capacity.
While some applications would benefit from higher data transfer rates, the major performance limitation of any library of dismountable media is the time required to mount and dismount media units. Separate media units in a library can only be accessed at the rate at which the picker can move the units to and from the drives. Optical disk libraries can require tens of seconds to complete a platter exchange, and tape libraries require even more time. This affects both the write and read performance of the library.
Schemes that provide flexibility in the physical placement of newly-written data have been devised for fixed media. Log-structured file (LSF) systems are described by Rosenblum et al., "The Design and Implementation of a Log-Structured File System", Association for Computing Machinery 13th Symposium on Operating System Principles, 1991. Log-structured arrays of fixed disks are described in PCT published patent applications WO 91/16711, WO 91/20025, and WO 91/20076, all assigned to Storage Technology Corporation. In a system having an LSF data architecture, new data is always written (appended) to logically blank areas of the storage media. The old version of the data, stored elsewhere, is simply marked as invalid in a directory. The current data and the blank space is called the log. When a read is performed, the directory is consulted to find the current location of the requested data. To ensure that there will always be blank areas for writes in the log, a "garbage collection" process is run in the background to scan the media for logically deleted data segments and collect them together. The key to these LSF systems for fixed media is the "indirection" provided by the directory. Indirection is the mapping of the logical address of a data set to its physical storage location. In a conventional file system, this mapping is fixed; in an LSF file system, it is regularly modified. This approach allows the address of a unit of data to be separated from its physical storage location and gives great flexibility when determining the physical placement of data in the system.
What is needed is a file system for a data storage library that takes advantage of the unique characteristic of dismountable media units and the flexibility of an LSF data architecture to minimize the number of media unit mounts and dismounts, and thereby improve both the write and read performance of the file system.